#ifndef SH_MESH_H_
#define SH_MESH_H_

#include <QtGui>

#define DEBUG

class SH_Manager;

class SH_Mesh : public QWidget {
public:
	SH_Mesh(QWidget *parent = 0);
	~SH_Mesh();
	
private:
	
	// Настройки размерности сетки.
	// Размеры границ
	static const int sizeBorderMesh = 5; 
	static const int sizeBorderQuad = 3; 
	static const int sizeBorderCell = 1;

	// Отступ сетки от окна
	static const int sizeIndentMesh = 10;

	// Размер ячейки
	static const int sizeCell = 50;
	
	// Цифровые размеры
	static const int sizeIndentFontX = 13;
	static const int sizeIndentFontY = -8;
	static const int sizeFont = 30;
		
	
	QPen borderMesh;
	QPen borderQuad;
	QPen borderCell;
	
	QPoint currentCell;
	
	QBrush currentBrush;
	
	SH_Manager *manager;
	
	void drawBorders();	
	void drawNumbers();	
	void markCell();
	
protected:
	virtual void paintEvent(QPaintEvent *event);
	virtual void mousePressEvent(QMouseEvent *event);
	virtual void keyPressEvent(QKeyEvent *event);	
};

#endif /*SH_MESH_H_*/
